Standalone Data Storage Device Electromagnetic Interference Test Setup and Procedure

ABSTRACT

A method for operating a data storage device having a plurality of sectors and at least one port, each port having a transmitter and a receiver, is disclosed. In one embodiment the method includes coupling at least one of the transmitters to at least one of the receivers, providing power to the data storage device, detecting that the transmitter is coupled to the receiver, and executing code for exercising the data storage device.

BACKGROUND

The description herein relates generally to information handling systems and specifically to data storage device characterization.

As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.

A data storage device is a source of electromagnetic interference (EMI) emissions. These EMI emissions can adversely affect computing devices and are regulated by the Federal Communications Commission (FCC) and the European Union (EU). It has been determined that measuring the EMI emissions from the data storage device can provide an early criterion for data storage device characterization. Conventionally, EMI testing of the data storage device requires a host computer. Waiting for the host computer to be available can result in delayed testing and increased costs. Additionally, the host computer may introduce variables that can compromise or mask the EMI emissions of the data storage device.

Accordingly, it would be desirable to provide an EMI testing setup and procedure absent the disadvantages discussed above.

SUMMARY

According to one embodiment, a method for operating a data storage device having a plurality of sectors and at least one port, each port having a transmitter and a receiver, includes coupling at least one of the transmitters to at least one of the receivers, providing power to the data storage device, and in response to detecting that the transmitter is coupled to the receiver, executing code for exercising the data storage device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an embodiment of an IHS.

FIG. 2 depicts an embodiment of a data storage device connected in a loopback configuration.

FIG. 3 illustrates an embodiment of a Serial Attached Small Computer Systems Interface (SAS) IDENTIFY address frame format.

FIG. 4 a illustrates an embodiment of a firmware image.

FIG. 4 b illustrates an embodiment of a firmware image.

FIG. 5 contains a flowchart for an embodiment of a method of operating a data storage device.

FIG. 6 illustrates a flowchart for an embodiment of a method of testing data storage device electromagnetic interference emissions.

DETAILED DESCRIPTION

For purposes of this disclosure, an IHS includes any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an IHS may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The IHS may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the IHS may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The IHS may also include one or more buses operable to transmit communications between the various hardware components.

FIG. 1 is a block diagram of an embodiment of an IHS. The IHS 100 includes a processor 110 such as an Intel Pentium series processor or one of many other processors currently available. A memory I/O hub chipset 120 (comprising one or more integrated circuits) connects to processor 110 over a front-side bus 115. Memory I/O hub 120 provides the processor 110 with access to a variety of resources. Main memory 130 connects to memory I/O hub 120 over a memory bus. A graphics processor 140 also connects to memory I/O hub 120, allowing the graphics processor to communicate, e.g., with processor 110 and main memory 130. Graphics processor 140, in turn, provides display signals to a display device 150.

Other resources can also be coupled to the system through memory I/O hub 120, including an optical drive 160 or other removable-media drive, one or more hard disk drives 165, one or more network interfaces 170, one or more USB (Universal Serial Bus) ports 180, and a super I/O controller 190 to provide access to user input devices 195, etc.

Not all IHSs include each of the components shown in FIG. 1, and other components not shown may exist. Furthermore, some components shown as separate may exist in an integrated package or be integrated in a common integrated circuit with other components. As can be appreciated, many systems are expandable, and include or can include a variety of components, including redundant or parallel resources.

FIG. 2 illustrates an embodiment of a data storage device connected in a loopback configuration 200. A hard disk drive 202 is depicted. The hard disk drive 202 includes firmware 204. The firmware 204 is coupled to a drive electronics component 206. The drive electronics component 206 is coupled to a read/write head assembly 208. The read/write head assembly 208 stores information to and reads information from a hard disk platter 210 of a hard disk 212. The hard disk 212 includes a plurality of platters 210, with each platter 210 including a plurality of sectors 214. The hard disk drive 202 further includes a power terminal 216 for providing power 218 and a ground terminal 220 for providing a connection to ground 222.

Referring again to the drive electronics component 206, the drive electronics component 206 is coupled to a first data port 224 and a second data port 226. The first data port 224 includes a first transmitter 228 and a first receiver 230. The first transmitter 228 includes a first transmitter positive interface 232 and a first transmitter negative interface 234 for sending a differential pair of signals 236. The first receiver 230 includes a first receiver positive interface 238 and a first receiver negative interface 240 for receiving a differential pair of signals 242. The second data port 226 includes a second transmitter 244 and a second receiver 246. The second transmitter 244 includes a second transmitter positive interface 248 and a second transmitter negative interface 250 for sending the differential pair of signals 242. The second receiver 246 includes a second receiver positive interface 252 and a second receiver negative interface 254 for receiving the differential pair of signals 236.

To configure hard disk drive 202 for loopback operation, the first transmitter positive interface 232 is coupled to the second receiver positive interface 252. The first transmitter negative interface 234 is coupled to the second receiver negative interface 254. The second transmitter positive interface 248 is coupled to the first receiver positive interface 238. The second transmitter negative interface 250 is coupled to the first receiver negative interface 240. A specially designed connector such as, for example, a specially designed Serial Attached Small Computer Systems Interface (SAS) receptacle connector, may be used to provide these couplings and provide power to the hard disk drive 202.

FIG. 3 illustrates an embodiment of a SAS IDENTIFY address frame 300. The SAS IDENTIFY address frame 300 is used as an identification sequence for device-to-device communication and contains information about the transmitting SAS device. The SAS IDENTIFY address frame 300 contains: a plurality of Reserved fields 310, including byte 0 bit 7, bytes 1, 2 and 3 bits 4-7, byte 22 bits 3-7, and bytes 23-27 bits 0-7; an SSP Target Port bit 320 at byte 3 bit 3; a Device Name field 330 at bytes 4-11 bits 0-7; and a plurality of other fields 340.

FIG. 4 a illustrates an embodiment of a firmware image 400. The firmware image 400 is bifurcated into a first section having normal operation code 410 for use during normal operation of the hard disk drive 202 and a second section having EMI testing code 420 for use during EMI emissions testing of the hard disk drive 202.

FIG. 4 b also illustrates an embodiment of a firmware image 450. The embodiment of the firmware image 450 depicted includes EMI testing code 420 used during EMI emissions testing of the hard disk drive 202 but does not include normal operation code 410 for use during normal operation of the hard disk drive 202. In such an embodiment, in order to operate the hard disk drive 202 without running the EMI testing code, a new firmware image containing normal operation code 410 will have to be downloaded.

FIG. 5 contains a flowchart for an embodiment of a method 500 of operating the hard disk drive 202. This method allows, for example, EMI testing of the hard disk drive 202 without the hard disk drive 202 being connected in the IHS 100.

The method 500 begins with the first transmitter 228 sending at step 510 a first SAS IDENTIFY address frame 300 to the second receiver 242 and the second transmitter 244 sending at step 510 a second SAS IDENTIFY address frame 300 to the first receiver 230 in response to being instructed to do so by the firmware 204 when power 218 is provided to the hard disk drive 202. Based on the information received in the first SAS IDENTIFY address frame 300 and the second SAS IDENTIFY address frame 300, the firmware 204 will determine at step 520 whether the hard disk drive 202 is in the loopback configuration 200. This can be accomplished by utilizing one of the SAS IDENTIFY address frame 300 fields such as, for example, the Reserved field 310, the SSP Target Port bit 320, or the Device Name field 330.

In an embodiment utilizing the Device Name field 330, the first transmitter 228 will send the first SAS IDENTIFY address frame 300 to the second receiver 246, the first SAS IDENTIFY address frame 300 including a globally unique Device Name for the hard disk drive 202, and the second transmitter 244 will send the second SAS IDENTIFY address frame 300 to the first receiver 230, the second SAS IDENTIFY address frame 300 including the globally unique Device Name for the hard disk drive 202. In such an embodiment, when the second receiver 246 receives the first SAS IDENTIFY address frame 300 including the globally unique Device Name associated with the hard disk drive 202 and the first receiver 230 receives the second SAS IDENTIFY address frame 300 including the globally unique Device Name associated with the hard disk drive 202, the firmware 204 will determine at step 520 that the hard disk drive 202 is in the loopback configuration 200.

In an embodiment utilizing a Reserved field 310, the first transmitter 228 will send the first SAS IDENTIFY address frame 300 to the second receiver 246, the first SAS IDENTIFY address frame 300 including a designated bit string in one of the Reserved fields 310, and the second transmitter 244 will send the second SAS IDENTIFY address frame 300 to the first receiver 230, the second SAS IDENTIFY address frame 300 including a designated bit string in one of the Reserved fields 310. In such an embodiment, when the second receiver 246 receives the first SAS IDENTIFY address frame 300 having the designated bit string in one of the Reserved fields 310 and the first receiver 230 receives the second SAS IDENTIFY address frame 300 having the designated bit string in one of the Reserved fields 310, the firmware 204 will determine at step 520 that the hard disk drive 202 is in the loopback configuration 200.

In an embodiment utilizing the SSP Target Port bit 320, the first transmitter 228 will send the first SAS IDENTIFY address frame 300 to the second receiver 246, the first SAS IDENTIFY address frame 300 having the SSP Target Port bit 320 set to one, and the second transmitter 244 will send the second SAS IDENTIFY address frame 300 to the second receiver 246, the second SAS IDENTIFY address frame 300 having the SSP Target bit 320 set to one. In such an embodiment, when the second receiver 246 receives the first SAS IDENTIFY address frame 300 with the SSP Target Port bit 320 set to one and the first receiver 230 receives the second SAS IDENTIFY address frame 300 with the SSP Target Port bit 320 set to one, the firmware 204 will determine at step 520 that the hard disk drive 202 is in the loopback configuration 200.

If the loopback configuration 200 is not detected, the firmware 204 will run the normal operation code at step 530. In another embodiment, the firmware 204 may include EMI testing code 420 without also including normal operation code 410. In such an embodiment, when the loopback configuration 200 is not detected, the firmware 204 will halt the running of the EMI testing code 420 without proceeding to step 530 for running the normal operation code 530.

If the loopback configuration 200 is detected, the method 500 then proceeds to step 540 where the hard disk drive 202 spins up in accordance with the firmware 204 EMI testing code 420. The firmware 204 EMI testing code 420 will allow the hard disk drive 202 to spin up at step 540 without receiving a NOTIFY (ENABLE SPINUP) primitive.

The method 500 then proceeds to the next step where the first transmitter 228 sends idle data at step 550 to the second receiver 242 and the second transmitter 244 sends idle data at step 550 to the first receiver 230. The idle data is sent at step 550 to maintain synchronization until other information is transmitted.

The method 500 then proceeds to step 560 where a read is executed by the firmware 204 EMI testing code 240 from one of the hard disk drive sectors 214. Executing the read at step 560 comprises the hard disk drive 202 using all normal data paths and components on the hard disk drive 202.

The method 500 then proceeds to step 570 where the firmware 204 determines whether the hard disk drive 202 is still in the loopback configuration 200. If the loopback configuration 200 is not detected, the firmware 204 will run the normal operation code at step 530.

If the loopback configuration 200 is detected, the method 500 then proceeds to the step 580 where a write is executed, by the firmware 204 EMI testing code 240, to one of the hard disk drive sectors 214. Executing the write at step 580 comprises the hard disk drive 202 using all normal data paths and components on the hard disk drive 202.

The method 500 then proceeds to the next step where the firmware 204 determines at step 590 whether the hard disk drive 202 is still in the loopback configuration 200. If the loopback configuration 200 is not detected, the firmware 204 will run the normal operation code at step 530.

If the loopback configuration 200 is detected, the method 500 proceeds to step 560. The firmware 204 will continue to execute steps 560-590 as long as the loopback configuration 200 is detected. While cycling through steps 560-590, the firmware 204 will execute at step 560 a plurality of reads from all sectors 214 of the hard disk drive 202, the plurality of reads being of varying block sizes and will execute at step 580 a plurality of writes to all sectors 214 of the hard disk drive 202, the plurality of writes being of varying block sizes. When the loopback configuration 200 is no longer detected, the firmware 204 will run the normal operation code at step 530.

FIG. 6 illustrates a flowchart for an embodiment of a method 600 of testing hard disk drive 202 EMI emissions. The method 600 begins at step 610 with putting the hard disk drive 202 in the loopback configuration 200 by coupling the first transmitter 228 to the second receiver 246 and coupling the second transmitter 244 to the first receiver 230. The method then proceeds to step 620 where the firmware 204 detects the loopback configuration 200 between the ports. The method 600 then proceeds to step 630 where the hard disk drive 202 is exercised. The step 630 of exercising the hard disk drive 202 is substantially similar to steps 560-590 of the method 500 of operating the hard disk drive 202 as described above. The method 600 then proceeds to step 640 where the EMI emissions of the hard disk drive 202 are measured.

The standalone data storage device EMI test setup and procedure can also be used to understand the EMI emissions spectrum of multiple data storage devices. Additionally, it can be used for chassis characterization by measuring and comparing the EMI emissions of the standalone data storage device(s) when the standalone data storage device(s) is/are inside of a chassis and when the standalone data storage device(s) is/are outside of the chassis.

Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure. For example, although the data storage device illustrated is the hard disk drive 202, in another embodiment, the drive may be another type of magnetic disk drive or even an optical disk drive, a magneto-optical disk drive, a tape drive, card reader/drive, circuitry with non-volatile RAM, circuitry with RAM, or a flash memory device. In such embodiments, exercising the data storage device comprises executing a plurality of reads from data storage locations and executing a plurality of writes to data storage locations. Furthermore, although the loopback configuration 200 is shown using two data ports, in another embodiment the loopback configuration may be set up using a different number of data ports such as, for example, one data port or more than two data ports. In an embodiment having only one data port, the loopback configuration 200 may consist of the port having its own transmitter looped back to its own receiver. Also, in an embodiment having more than one port, the loopback configuration 200 may consist of each port may have its own transmitter looped back to its own receiver. Additionally, in another embodiment the firmware 204 EMI emissions testing code 420 may share some code segments with the firmware 204 normal operation code 410. Also, although SAS is the communication technology illustrated above, in another embodiment, another type of communication technology could be used such as, for example, SATA, Fibre Channel, InfiniBand, Firewire, USB, or PCI Express. In some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein. 

1. A data storage device, comprising: at least one data port, each data port having a transmitter and a receiver; and firmware for detecting a loopback configuration between one of the transmitters and one of the receivers.
 2. The data storage device of claim 1, wherein the at least one data port comprises a first data port and a second data port.
 3. The data storage device of claim 2, wherein the loopback configuration consists of the first data port transmitter being coupled to the second data port receiver and the second data port transmitter being coupled to the first data port receiver.
 4. The data storage device of claim 1, wherein the firmware is operational when the data storage device is not coupled to a computer.
 5. The data storage device of claim 1, further comprising: firmware for exercising the data storage device having at least one of the ports in the loopback configuration.
 6. Firmware, comprising: on a data storage device having a plurality of sectors and at least one port having a transmitter and a receiver, a subsystem for detecting a loopback port configuration; and a subsystem for exercising the data storage device in response to detecting a loopback port configuration.
 7. The firmware of claim 6, wherein the subsystem for exercising the data storage device comprises a subsystem for executing a plurality of reads from the data storage device and a subsystem for executing a plurality of writes to the data storage device.
 8. The firmware of claim 7, wherein the firmware is operational when the data storage device is not coupled to a computer.
 9. The firmware of claim 7, further comprising: a subsystem for spinning up the data storage device without the need for receiving a NOTIFY (ENABLE SPINUP) primitive.
 10. The firmware of claim 7, further comprising: a subsystem for transmitting idle data from one of the transmitters to one of the receivers.
 11. The firmware of claim 6, further comprising: a subsystem for detecting that the loopback configuration no longer exists and ending exercising the data storage device.
 12. The firmware of claim 6, wherein detecting a loopback configuration on the data storage device comprises utilizing a Serial Attached Small Computer Systems Interface (SAS) IDENTIFY address frame feature.
 13. The firmware of claim 12, wherein the SAS IDENTIFY address frame feature is selected from the group consisting of an SSP Target Port field, a Reserved field, a Device Name field, and combinations thereof.
 14. The firmware of claim 7, wherein the plurality of reads are of varying block sizes and the plurality of writes are of varying block sizes.
 15. The firmware of claim 7, wherein executing the plurality of reads from the data storage device comprises executing reads from all of the plurality of sectors and the executing the plurality of writes to the data storage device comprises executing writes to all of the plurality of sectors.
 16. The firmware of claim 7, wherein executing the plurality of reads comprises the data storage device using all normal data paths and components on the data storage device for executing the plurality of reads and the executing the plurality of writes comprises the data storage device using all normal data paths and components on the data storage device for executing the plurality of writes.
 17. A method for operating a data storage device, comprising: on a data storage device having a plurality of sectors and at least one port, each port having a transmitter and a receiver, coupling at least one of the transmitters to at least one of the receivers; providing power to the data storage device; detecting that the transmitter is coupled to the receiver; and in response to detecting that the transmitter is coupled to the receiver, executing code for exercising the data storage device.
 18. The method of claim 17, wherein detecting that the transmitter is connected to the receiver comprises utilizing a SAS IDENTIFY address frame feature selected from the group consisting of an SSP Target Port field, a Reserved field, a Device Name field, and combinations thereof.
 19. The method of claim 17, wherein executing code for exercising the data storage device comprises executing a plurality of reads from the data storage device and executing a plurality of writes to the data storage device.
 20. The method of claim 19, wherein the plurality of reads are of varying block sizes and the plurality of writes are of varying block sizes.
 21. The method of claim 19, wherein executing the plurality of reads comprises the data storage device using all normal data paths and components on the data storage device for executing the plurality of reads.
 22. The method of 19, further comprising: removing power from the data storage device; decoupling the transmitter and the receiver; reproviding power to the data storage device; detecting that the transmitter and receiver are decoupled; and in response to detecting that the transmitter and receiver are decoupled, executing code for normal operation of the data storage device.
 23. The method of claim 17, wherein detecting that the transmitter is coupled to the receiver is done by firmware that is also operational when the data storage device is in a normal operation mode.
 24. A method for testing data storage device electromagnetic interference, comprising: on a data storage device having at least one port, each port having a transmitter and a receiver, coupling at least one of the transmitters to at least one of the receivers; detecting a loopback configuration between the transmitter and the receiver; exercising the data storage device; and measuring the electromagnetic interference emissions of the data storage device.
 25. The method of claim 24, wherein the data storage device is not located in a computer chassis. 